From 535586f241286a7ba1bd16403ca643dbdade2ea0 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Tue, 29 Nov 2011 19:20:26 +0000 Subject: [PATCH] Don't force match on space in KML coordinate read. Windows takes the match on the space too literally and fails to update "consumed" if we're at the end of line so it sails past the end of the buffer. Sadness ensues. --- gpsbabel/kml.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gpsbabel/kml.c b/gpsbabel/kml.c index 535269c38..660ac4e16 100644 --- a/gpsbabel/kml.c +++ b/gpsbabel/kml.c @@ -303,7 +303,7 @@ void trk_coord(const char* args, const char** attrv) } track_add_head(trk_head); - while ((n = sscanf(args, "%lf,%lf,%lf %n", &lon, &lat, &alt, &consumed)) > 0) { + while ((n = sscanf(args, "%lf,%lf,%lf%n", &lon, &lat, &alt, &consumed)) > 0) { trkpt = waypt_new(); trkpt->latitude = lat; @@ -311,7 +311,7 @@ void trk_coord(const char* args, const char** attrv) // Line malformed or two-arg format without alt . Rescan. if (2 == n) { - sscanf(args, "%lf,%lf %n", &lon, &lat, &consumed); + sscanf(args, "%lf,%lf%n", &lon, &lat, &consumed); } if (3 == n) { -- 2.30.2